// 引入node.js
var fs = require('fs');
var path = require('path');
var {ipcRenderer,remote} =require('electron');

//对话框
var errorDom=document.querySelector('#error');
var mesageBoxDom=document.querySelector('#mesageBox');
var openDialogDom=document.querySelector('#openDialog');
var saveDialogDom=document.querySelector('#saveDialog');

errorDom.onclick=function(){
    console.log("===test=");
    remote.dialog.showErrorBox('警告','操作有误');
}
// 选择确认对话框
mesageBoxDom.onclick=() => {
    remote.dialog.showMessageBox({
        type:'info',
        title: '系统地址',
        message: '这是一个系统提示',
        buttons:['ok','cancel']
    }).then((result) => {
        console.log(result.response);
    })
}
openDialogDom.onclick=function(){
    remote.dialog.showOpenDialog({
        // properties:['openDirectory','openFile']
        properties:['openFile']
    }).then((result) => {
        console.log(result.filePaths[0]);
    })
}
saveDialogDom.onclick=function(){
    remote.dialog.showSaveDialog({
        title:'save file',
        defaultPath:"../img/favicon.ico",
        filters: [
            {name: 'Images', extensions: ['jpg', 'png', 'gif']},
            {name: 'Movies', extensions: ['mkv', 'avi', 'mp4']},
            {name: 'Custom File Type', extensions: ['as']},
            {name: 'All Files', extensions: ['*']}
        ]
    }).then((result) =>{
        console.log(result);
        // C:\Users\Administrator\Desktop\新建文件夹\js\aaa.jpg
        //保存以后会打印保存的路径  , 但是不会实现真的保存功能  （具体保存什么数据可以写在nodejs里面）
    })
}


//右键菜单
window.addEventListener('contextmenu',function(e){
    alert('右键菜单')
    //阻止当前窗口默认事件
    e.preventDefault();
},false)


//H5通知api实现  系统通知
var messageBtn=document.querySelector('#messageBtn');
messageBtn.onclick=function(){
    var option={
        title:'系统通知',
        icon: path.join(__dirname,'/img/favicon.ico'),
        body:'可以用Electron开发跨平台PC软件'
    }
    var myNotification=new window.Notification(option.title,option);
    myNotification.onclick=function(){
        console.log('点击了');
    }

}
/**
 * Electron中的窗口是使用BrowserWindow类型创建的一个实例， 它只能在主进程中使用。
 * 但是我们可以通过 electron中的remote模块间接的调用主进程中的模块
 */
var BrowserWindow=remote.BrowserWindow;
var openWindow=this.document.querySelector('#openWindow');
openWindow.onclick=function(){
    // 方法1
     /*var win=null;
     win=new BrowserWindow({
         width:400,
         height:300,
         // frame:false,
         // fullscreen:true
          //解决无法加载node.js问题
          webPreferences: {nodeIntegration: true}
     })
     win.loadURL(path.join('file:',__dirname,'pages/newWindow.html'));
     win.on('closed',()=>{
         win=null;
     })*/
    // 方法2 调用ipcMain 在主进程中处理 (同时传值)
     ipcRenderer.send('openWindow',"author-liuli");
    // 通过 localStorage传输数据    在newWindow.html中获取 （推荐使用这种方式）
    localStorage.setItem("author","liuli");
}

//信息展示
var textarea=this.document.querySelector('#textarea');
//获取配置文件信息 获取本地文件 需要引入 require('fs')
var getPackageBtn=this.document.querySelector('#getPackageBtn');
getPackageBtn.onclick=function(){
    fs.readFile('package.json',(err,data)=>{
        // console.log(data);
        textarea.innerHTML="版本信息:"+JSON.parse(data).version;
    })
}
